import request from '@/utils/request';

const COAL_BASE_URL = `/nljs/coal-data`;

const MonitorAPI = {
  /**
   * 成本比TOP10企业数据
   *
   * @param queryParams 查询参数（可选）
   * @returns
   */
  getTopChart(queryParams?: any) {
    return request<any, any>({
      url: `/nljs/dashboard/incomecost`,
      method: 'get',
      params: queryParams,
    });
  },

  /**
   * 查询企业多维指标趋势数据
   *
   * @param queryParams 查询参数（可选）
   * @returns
   */
  getCompanyChart(queryParams?: any) {
    return request<any, any>({
      url: `/nljs/dashboard/companyindicator`,
      method: 'get',
      params: queryParams,
    });
  },

  /**
   * 创建煤炭数据抓取定时任务
   *
   * @returns
   */
  createTask() {
    return request({
      url: `${COAL_BASE_URL}/task/create`,
      method: 'post',
    });
  },
  /**
   * 启动煤炭数据抓取定时任务
   *
   * @returns
   */
  startTask() {
    return request({
      url: `${COAL_BASE_URL}/task/start`,
      method: 'post',
    });
  },
  /**
   * 停止煤炭数据抓取定时任务
   *
   * @returns
   */
  stopTask() {
    return request({
      url: `${COAL_BASE_URL}/task/stop`,
      method: 'post',
    });
  },
  /**
   * 删除煤炭数据抓取定时任务
   *
   * @returns
   */
  deleteTask() {
    return request({
      url: `${COAL_BASE_URL}/task/delete`,
      method: 'post',
    });
  },
  /**
   * 手动触发(一次)所有数据抓取
   *
   * @returns
   */
  manualAllFetch() {
    return request({
      url: `${COAL_BASE_URL}/all/fetch`,
      method: 'post',
    });
  },
  /**
   * 获取调度器状态
   *
   * @returns
   */
  getTaskStatus() {
    return request({
      url: `${COAL_BASE_URL}/task/status`,
      method: 'get',
    });
  },
  /**
   * 获取数据抓取状态
   *
   * @returns
   */
  getDataStatus() {
    return request({
      url: `${COAL_BASE_URL}/status`,
      method: 'get',
    });
  },

  /**
   * 获取最新OCFI数据
   * 获取最新的一条海运煤炭运价指数数据
   * @returns
   */
  getOcfiLatest() {
    return request({
      url: `${COAL_BASE_URL}/ocfi/latest`,
      method: 'get',
    });
  },
  /**
   * 分页查询OCFI数据
   *
   * @returns
   */
  getOcfiPage(params?: { page: number; size: number; period?: string }) {
    return request({
      url: `${COAL_BASE_URL}/ocfi/page`,
      method: 'get',
      params: params,
    });
  },
  /**
   * 获取OCFI历史走势数据
   *
   * @returns
   */
  getOcfiTrend(params?: { startDate?: string; endDate?: string; period?: string; limit?: number }) {
    return request({
      url: `${COAL_BASE_URL}/ocfi/trend`,
      method: 'get',
      params: params,
    });
  },
  /**
   * 查询OCFI数据详情
   *
   * @returns
   */
  getOcfiDetail(id: number | string) {
    return request({
      url: `${COAL_BASE_URL}/ocfi/${id}`,
      method: 'get',
    });
  },
  /**
   * 获取最新OCFI数据列表
   *
   * @returns
   */
  getOcfiRecentList(params?: { limit: number }) {
    return request({
      url: `${COAL_BASE_URL}/ocfi/recent`,
      method: 'get',
      params: params,
    });
  },

  /**
   * 获取最新BSSPI数据
   * 获取最新的一条渤海动力煤现货价格数据
   * @returns
   */
  getBsspiLatest() {
    return request({
      url: `${COAL_BASE_URL}/bsspi/latest`,
      method: 'get',
    });
  },
  /**
   * 分页查询BSSPI数据
   *
   * @returns
   */
  getBsspiPage(params?: { page: number; size: number; period?: string }) {
    return request({
      url: `${COAL_BASE_URL}/bsspi/page`,
      method: 'get',
      params: params,
    });
  },
  /**
   * 获取BSSPI历史走势数据
   *
   * @returns
   */
  getBsspiTrend(params?: {
    startDate?: string;
    endDate?: string;
    period?: string;
    limit?: number;
  }) {
    return request({
      url: `${COAL_BASE_URL}/bsspi/trend`,
      method: 'get',
      params: params,
    });
  },
  /**
   * 查询BSSPI数据详情
   *
   * @returns
   */
  getBsspiDetail(id: number | string) {
    return request({
      url: `${COAL_BASE_URL}/bsspi/${id}`,
      method: 'get',
    });
  },
  /**
   * 获取最新BSSPI数据列表
   *
   * @returns
   */
  getBsspiRecentList(params?: { limit: number }) {
    return request({
      url: `${COAL_BASE_URL}/bsspi/recent`,
      method: 'get',
      params: params,
    });
  },

  /**
   * 获取最新BSPI数据
   * 获取最新的一条环渤海动力煤价格指数数据
   * @returns
   */
  getBspiLatest() {
    return request({
      url: `${COAL_BASE_URL}/bspi/latest`,
      method: 'get',
    });
  },
  /**
   * 分页查询BSPI数据
   *
   * @returns
   */
  getBspiPage(params?: { page: number; size: number; period?: string }) {
    return request({
      url: `${COAL_BASE_URL}/bspi/page`,
      method: 'get',
      params: params,
    });
  },
  /**
   * 获取BSPI历史走势数据
   *
   * @returns
   */
  getBspiTrend(params?: { startDate?: string; endDate?: string; period?: string; limit?: number }) {
    return request({
      url: `${COAL_BASE_URL}/bspi/trend`,
      method: 'get',
      params: params,
    });
  },
  /**
   * 查询BSPI数据详情
   *
   * @returns
   */
  getBspiDetail(id: number | string) {
    return request({
      url: `${COAL_BASE_URL}/bspi/${id}`,
      method: 'get',
    });
  },
  /**
   * 获取最新BSPI数据列表
   *
   * @returns
   */
  getBspiRecentList(params?: { limit: number }) {
    return request({
      url: `${COAL_BASE_URL}/bspi/recent`,
      method: 'get',
      params: params,
    });
  },
};

export default MonitorAPI;
